import qs from 'qs';
import request from '@/utils/request';
import { ResponseData } from '../typing';
// 参数接口
// 参数接口
export interface UpdatePropertyOwnerParams {
    /*房产id */
    propertyId: number;
    /*姓名 */
    name: string;
    /*电话 */
    phone: string;
    /*身份证号 */
    idCard: string;
    /*0:共同产权人,1:业主 */
    masterOwner: number;
    /*租赁合同 */
    files?: {
        /*查看地址 */
        viewAddress: string;
        /*旧文件名 */
        oldName: string;
        /*新文件名 */
        newName: string;
        /*文件大小,单位：Mb */
        totalSize: Record<string, unknown>;
        /*附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
        /*业务类型 */
        businessType?: string;
        /*业务表id */
        businessId?: Record<string, unknown>;
    }[];
    /*主键 */
    id: number;
}
/**
 * 更新业主
 * @param {object} params 管理后台 - 业主更新 Request VO
 * @param {number} params.propertyId 房产id
 * @param {array} params.owners 业主信息列表
 * @param {string} params.propertyCertificate 房产证
 * @param {number} params.id 主键
 * @returns
 */
export function updatePropertyOwner(params: UpdatePropertyOwnerParams): Promise<ResponseData<boolean>> {
    return request.put(`/yfwy/property-owner/update`, params);
}
// 参数接口
export interface SellPropertyOwnerParams {
    // 房产id */
    propertyId: number;
    // 业主信息列表 */
    owners: {
        // 姓名 */
        name: string;
        // 电话 */
        phone: string;
        // 身份证号 */
        idCard: string;
    }[];
    // 房产证 */
    // propertyCertificate: string;
    files?: {
        viewAddress: string;
        oldName: string;
        newName: string;
        totalSize: Record<string, unknown>;
    }[];
}
/**
 * 出售
 * @param {object} params YfwyPropertyOwnerSellReqArgs
 * @param {number} params.propertyId 房产id
 * @param {array} params.owners 业主信息列表
 * @param {string} params.propertyCertificate 房产证
 * @returns
 */
export function sellPropertyOwner(params: SellPropertyOwnerParams): Promise<ResponseData<boolean>> {
    return request.post(`/yfwy/property-owner/sell`, params);
}
// 参数接口
export interface CreatePropertyOwnerParams {
    /*房产id */
    propertyId: number;
    /*姓名 */
    name: string;
    /*电话 */
    phone: string;
    /*身份证号 */
    idCard: string;
    /*0:共同产权人,1:业主 */
    masterOwner: number;
    /*租赁合同 */
    files?: {
        /*查看地址 */
        viewAddress: string;
        /*旧文件名 */
        oldName: string;
        /*新文件名 */
        newName: string;
        /*文件大小,单位：Mb */
        totalSize: Record<string, unknown>;
        /*附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
        /*业务类型 */
        businessType?: string;
        /*业务表id */
        businessId?: Record<string, unknown>;
    }[];
}
// 响应接口
export interface CreatePropertyOwnerRes {
    code: number;
    data: {
        createTime: Record<string, unknown>;
        updateTime: Record<string, unknown>;
        creator: number;
        updater: number;
        // 主键 */
        id: number;
        // 房产id */
        propertyId: number;
        // 姓名 */
        name: string;
        // 电话 */
        phone: string;
        // 身份证号 */
        idCard: string;
        // 变更时间 */
        changeTime: Record<string, unknown>;
        // 变更后 */
        changeAfter: string;
        // 变更后id */
        changeAfterId: number;
        // 欠费金额 */
        arrearsAmount: string;
        // 房产证 */
        propertyCertificate: string;
        // 状态:0->不可用,1->可用 */
        status: number;
    };
    msg: string;
}
/**
 * 创建业主
 * @param {object} params 管理后台 - 业主创建 Request VO
 * @param {number} params.propertyId 房产id
 * @param {array} params.owners 业主信息列表
 * @param {string} params.propertyCertificate 房产证
 * @returns
 */
export function createPropertyOwner(params: CreatePropertyOwnerParams): Promise<CreatePropertyOwnerRes> {
    return request.post(`/yfwy/property-owner/create`, params);
}
// 响应接口
export interface GetPropertyOwnerListRes {
    code: number;
    data: {
        // 主键 */
        id: number;
        // 房产id */
        propertyId: number;
        // 姓名 */
        name: string;
        // 电话 */
        phone: string;
        // 身份证号 */
        idCard: string;
        // 变更时间 */
        changeTime: Record<string, unknown>;
        // 变更后 */
        changeAfter: string;
        // 变更后id */
        changeAfterId: number;
        // 欠费金额 */
        arrearsAmount: string;
        // 工单数量 */
        workOrderCnt: number;
        // 状态:0->不可用,1->可用 */
        status: number;
    }[];
    msg: string;
}
/**
 * 获得业主列表
 * @param {string} propertyId
 * @returns
 */
export function getPropertyOwnerList(params: { propertyId: number }): Promise<GetPropertyOwnerListRes> {
    return request.get(`/yfwy/property-owner/list/${params.propertyId}`);
}
// 响应接口
export interface GetPropertyOwnerRes {
    code: number;
    data: {
        createTime: Record<string, unknown>;
        updateTime: Record<string, unknown>;
        creator: number;
        updater: number;
        // 主键 */
        id: number;
        // 房产id */
        propertyId: number;
        // 姓名 */
        name: string;
        // 电话 */
        phone: string;
        // 身份证号 */
        idCard: string;
        // 变更时间 */
        changeTime: Record<string, unknown>;
        // 变更后 */
        changeAfter: string;
        // 变更后id */
        changeAfterId: number;
        // 欠费金额 */
        arrearsAmount: string;
        // 房产证 */
        propertyCertificate: string;
        // 状态:0->不可用,1->可用 */
        status: number;
        files?: [];
    };
    msg: string;
}
/**
 * 获得业主
 * @param {string} id
 * @returns
 */
export function getPropertyOwner(id: number): Promise<GetPropertyOwnerRes> {
    return request.get(`/yfwy/property-owner/get/${id}`);
}
/**
 * 删除业主
 * @param {string} id
 * @returns
 */
export function deletePropertyOwner(id: number): Promise<ResponseData<boolean>> {
    return request.delete(`/yfwy/property-owner/delete/${id}`);
}
